Directional finding system implementing a rolling code

ABSTRACT

A method and system for finding an object, e.g., person, automobile. A monitoring device may be configured to monitor one or more units “monitored units” which are attached to various objects, e.g., person, automobile. The monitoring device may poll each monitored unit. Based on the signal strength of the responses, the monitoring device may determine the approximate distance each monitored unit is located from the monitoring device. Both the monitoring device and each monitored unit may be configured to store an algorithm to allow for a rolling identification code to be transmitted between the two devices. By transmitting a rolling identification code between the two devices, a third party would be less likely to associate the identification code with the object, e.g., person, attached to the monitored unit.

TECHNICAL FIELD

[0001] The present invention relates to the field of directionally finding systems, and more particularly to a directional finding system implementing a rolling identification code between the monitoring device and the monitored unit to lessen the ability of a third party finding the object, e.g., person, automobile, attached to the monitored unit.

BACKGROUND INFORMATION

[0002] There are numerous methods and systems for finding moveable objects such as automobiles, pets and people. One such system for finding moveable objects such as a person utilizes a tracking/locating unit that transmits a unique identification signal based on at least one biological parameter of the person to be monitored, e.g., body temperature, pulse rate, scanned image of a fingerprint. The person to be monitored may wear a tracked unit that monitors such biological parameter(s), e.g., body temperature. If the biological parameter(s), e.g., body temperature, of the person is outside of a pre-selected range, then an alarm condition may be indicated to the tracking/locating unit indicating that the tracked device worn by the person may have been removed. However, basing an alarm condition on biological parameters may provide many false positives as biological parameters, e.g., body temperature, may register a value beyond a pre-selected range for reasons other than removal, such as exercising. Furthermore, this system necessarily requires using at least one biological parameter of the person to be tracked in order to determine the location and possible abduction of the person. Furthermore, this system is necessarily limited to locating people and not other types of objects, e.g., automobiles, that do not possess biological parameters. Furthermore, the unique identification signal based on at least one biological parameter of the person to be tracked does not change during every communication between the tracking/locating unit and the tracked unit. Consequently, a third party, e.g., potential abductor, may be able to intercept the signal and with a similar tracking/locating unit track that person as well. Furthermore, since the identification signal does not change during every communication between the tracking/locating unit and the tracked unit, a third party, e.g., potential abductor, may be able to transmit false information to the tracking/locating device and/or tracked unit.

[0003] Another system for finding objects includes a monitoring device configured to monitor the position of a child by detecting the signal strength of a radio frequency carrier from a transmitter attached to the child. If the signal of the radio frequency carrier is too weak, the child is too far away from the adult who has the monitoring device. When this happens, the adult is informed that the child has wandered too far away through the use of an audio tone or through the use of vibrations coming from the device. Once the adult is notified that the child is too far away, the device also has a locating display for indicating the relative direction of the child with respect to the adult. However, since the transmitter worn by the child simply transmits a signal with no unique identification code at a particular frequency, a third party, e.g., potential abductor, may be able to intercept the signal and with a similar monitoring device track the child. Furthermore, since the transmitter worn by the child simply transmits a signal with no unique identification code at a particular frequency, a third party, e.g., potential abductor, may be able to transmit false information to the monitoring device.

[0004] It would therefore be desirable to develop a directional finding system that made it more difficult for a third party, e.g., potential abductor, potential thief, to be able to find the object, e.g., child, automobile as well as transmit false information to the monitoring device and/or monitored unit.

SUMMARY

[0005] The problems outlined above may at least in part be solved in some embodiments of the present invention by transmitting a rolling identification code between the monitoring device and the monitored unit attached to the object, e.g., person, automobile, being monitored. By transmitting a rolling identification code, a third party would be less likely to associate the identification code with the monitored object.

[0006] In one embodiment of the present invention, a method for finding an object, e.g., person, automobile, may comprise the step of a monitoring device receiving input as to which unit (“monitored unit”) is to be monitored by the monitoring device. The monitored unit may be pre-assigned with a unique identification code. The monitoring device may further receive input establishing a maximum distance the monitored unit should be located from the monitoring device.

[0007] The monitoring device may then poll the monitored unit with an updated identification code. The monitoring device may receive an acknowledgment from the monitored unit that includes a further updated identification code. If the received updated identification code is expected, then the monitoring device may determine an approximate distance the monitored unit is located from the monitoring device.

[0008] In another embodiment of the present invention, a system may comprise a unit that is monitored (“monitored unit”) attached to an object, e.g., child. The monitored unit may be configured to detect tampering of the monitored unit. Upon detecting tampering of the monitored unit, the monitored unit may transmit an indication to a monitoring device that the monitored unit has been tampered with. The monitored unit may further transmit signals in a substantially continuous manner to the monitoring device upon detecting tampering of the monitored unit.

[0009] The monitoring device may be configured to receive both the indication that the monitored unit has been tampered with as well as the transmitted signals from the monitored unit. The monitoring device may further be configured to determine a direction of the monitored unit from the signal strength and direction of the transmitted signals.

[0010] In another embodiment of the present invention, a method for finding one or more objects may comprise the step of a monitoring device receiving input to monitor one or more units where each of the units may be assigned a unique identification code. The monitoring device may poll each of the monitored units with a rolling identification code.

[0011] In another embodiment of the present invention, a system may comprise a monitoring device where the monitoring device may include a System On a Chip (SoC) configured to monitor a unit attached to an object, e.g., person, automobile. The monitoring device may further include an activation unit coupled to the SoC where the activation unit may activate the SoC for a limited duration.

[0012] The foregoing has outlined rather broadly the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] A better understanding of the present invention can be obtained when the following detailed description is considered in conjunction with the following drawings, in which:

[0014]FIG. 1 illustrates an embodiment of the present invention of a system for directionally finding an object;

[0015]FIG. 2 is a flowchart of a method for finding an object in accordance with one embodiment of the present invention;

[0016]FIG. 3 is a flowchart of the sub-steps of the step of receiving input as to which one or more units are to be monitored by the monitoring device in accordance with one embodiment of the present invention;

[0017]FIG. 4 is a flowchart of a method for adding a unit to be monitored by the monitoring device in accordance with one embodiment of the present invention;

[0018]FIG. 5 is a flowchart of a method for deactivating a unit from being monitored by the monitoring device in accordance with one embodiment of the present invention; and

[0019]FIG. 6 is a flowchart of a method for finding a monitored unit that has been tampered with in accordance with one embodiment of the present invention.

DETAILED DESCRIPTION

[0020]FIG. 1—System for Directionally Finding an Object

[0021]FIG. 1 illustrates one embodiment of a system 100 for locating an object, e.g., person, automobile, baby carriage. Referring to FIG. 1, system 100 may comprise a monitoring device 101 configured to monitor one or more units 102, e.g., wristband type of device worn by a child, attached to one or more objects. It is noted that monitoring device 101 may be configured to monitor unit 102 attached to any type of object.

[0022] Returning to FIG. 1, monitoring device 101 may comprise a System On a Chip (SoC) 103 coupled to an activation unit 104, a battery 105, button(s) and/or switch(es) 106, Light Emitting Diode(s) (LED's) 107, a buzzer 108 and a transmitter/receiver circuit 109. Transmitter/receiver circuit 109 may be coupled to an antenna switch 110 which may be coupled to a Yagi antenna 111 and an omni directional antenna 112. It is noted that monitoring device 101 may comprise different circuitry providing the same functionality as discussed herein and that FIG. 1 is illustrative.

[0023] SoC 103 may be configured in one embodiment to comprise a memory (not shown), e.g., non-volatile memory, to store a program to perform the steps of the method for locating an object as described further below in conjunction with FIGS. 2-3. Furthermore, the program stored in memory (not shown) may include the functionality to add a unit to be monitored by monitoring device 101 as described further below in conjunction with FIG. 4. Further, the program stored in memory (not shown) may include the functionality to deactivate a monitored unit as described further below in conjunction with FIG. 5. Further, the program stored in memory (not shown) may include the functionality to directionally find the monitored unit upon the monitored unit being tampered with as described further below in conjunction with FIG. 6. SoC 103 may further comprise a processor (not shown) coupled to the memory (not shown). The processor (not shown) may be configured to execute the instructions of the program listed above. It is noted that the steps of the methods performed by the program mentioned above may in an alternative embodiment be implemented in hardware such as in an Application Specific Integrated Circuit (ASIC).

[0024] Returning to FIG. 1, SoC 103 may be coupled to an activation unit 104. Activation unit 104 may be configured to activate SoC 103 for a limited pre-selected duration, e.g., 90 days, upon activation unit 104 making either a physical, mechanical or electrical contact with SoC 103. A counter in SoC 103, implemented in either software or hardware in SoC 103, may count the duration of time SoC 103 has been activated. Upon expiration of the pre-selected duration, e.g., 90 days, SoC 103 deactivates activation unit 104 thereby deactivating SoC 103 and deactivating monitoring unit 103. It may be desirable for deactivating monitoring device 101 periodically for ongoing security to ensure integrity of monitoring device 101.

[0025] In one embodiment of the present invention, SoC 103 may only be continuously active by using a particular activation unit 104 during different stages of operation. For example, one particular activation unit 104 may only be configured to activate SoC 103 from day 0 to day 90 of operation. Another activation unit 104 may only be configured to activate SoC 103 from day 91 to day 180 of operation. A counter in SoC 103, implemented in either software or hardware in SoC 103, may continuously track the time of operation of SoC 103 thereby indicating to SoC 103 which particular activation unit 104 will activate SoC 103. In one embodiment, SoC 103 may store a table in its memory (not shown) comprising a list of activation codes to activate SoC 103 during different stages of operation. Upon insertion of activation unit 104, SoC 103 may be configured to read an activation code stored in the memory (not shown) in activation unit 104 to determine if this is the appropriate activation unit 104 to activate SoC 103. If the activation code is the appropriate activation code for the particular stage of operation, then SoC 103 becomes activated. Otherwise, SoC 103 remains deactivated.

[0026] Battery 105 may supply the necessary operating power for the circuitry and components of monitoring device 101. Battery 105 may be a standard carbon or lithium battery, or a rechargeable type battery such as nickel metal hydride (NiMH) or nickel cadmium (NiCAD).

[0027] Monitoring device 101 may comprise input/output devices such as button(s)/switch(es) 106, LED's 107, and/or buzzer 108. Data may be inputted to monitoring device 101 through button(s)/switch(es) 106, e.g., inputting a maximum distance the monitored unit 102 should be located from monitoring device 101 as discussed in conjunction with FIG. 2, inputting as to which units 102 are to be monitored by monitoring device 101 as discussed in conjunction with FIG. 2, inputting a new unit 102 to be monitored by monitoring device 101 as discussed in conjunction with FIG. 4, resetting the maximum distance monitored unit 102 may be located from monitoring device 101 as discussed in conjunction with FIG. 2, inputting a unit 102 to be deactivated as discussed in conjunction with FIG. 5. Output may be received by the user of monitoring device 101 through LED's 107 and/or buzzer 108, e.g., outputting an indication that monitored unit 102 is located beyond a pre-selected percentage, e.g., 90%, of a pre-selected maximum distance, e.g., 1,400 feet, as discussed in conjunction with FIG. 2, outputting an indication that the monitored unit 102 is located beyond the pre-selected maximum distance as discussed in conjunction with FIG. 2. It is noted that monitoring device 101 may comprise other types of input/output devices, e.g., display, alphanumeric characters, not illustrated and that such input/output devices would be known to a person of ordinary skill in the art. It is further noted that embodiments incorporating such input/output devices would fall within the scope of the present invention.

[0028] Transmitter/receiver circuit 109 may be configured to transmit information to and receive information from monitored unit 102. When information is transmitted to monitored unit 102, a unique identification code, e.g., a unique 8-bit identification number, may be transmitted along as part of the transmitted information. This unique identification code may be continually changed during every communication with monitored unit 102 using an algorithm stored in memory (not shown) of SoC 103. This is commonly referred to as “rolling code.” The same algorithm may be used by monitored unit 102 to thereby expect the next identification code to be transmitted by monitoring device 101. If the expected identification code is not received, then monitored unit 102 will not respond to the received transmission. Similarly, monitoring device 101 expects to receive a particular identification code from monitored unit 102 using the same algorithm. If the expected identification code is not received, then SoC 103 will not respond to the received transmission.

[0029] Antenna switch 110 may be configured to activate Yagi antenna 111 to receive transmitted information, e.g., when monitoring device 101 operates in “locate mode” to track the location of monitored unit 102 such as when the monitored unit 102 is located beyond a pre-determined maximum distance from monitoring device 101 or when monitored unit 102 has been tampered with as discussed in conjunction with FIGS. 2 and 6, respectively. Yagi antennas are well known to persons of ordinary skill in the art and will therefore not be discussed in detail for the sake of brevity. Consequently, Yagi antenna 111 may be activated to determine the direction of monitored unit 102.

[0030] Antenna switch 110 may also be configured to activate an omni directional antenna 112 when monitoring device 101 transmits information to one or more monitored units 102.

[0031] It is noted that other features of monitoring device 101 will be discussed further below in conjunction with FIGS. 2-6.

[0032] Returning to FIG. 1, monitored unit 102 may comprise a System On a Chip (SoC) 113 coupled to a battery 114, button(s) and/or switch(es) 115, tamper sensor 116, and a transmitter/receiver circuit 117. Transmitter/receiver circuit 117 may be coupled to an omni directional antenna 118. It is noted that monitored unit 102 may comprise different circuitry providing the same functionality as discussed herein and that FIG. 1 is illustrative.

[0033] SoC 113 may be configured similarly as SoC 103. In one embodiment, SoC 113 may be configured to comprise a memory (not shown), e.g., non-volatile memory, to store a program for transmitting an indication that monitored unit 102 has been tampered with as well as transmitting signals in a “panic state” as described further below in conjunction with FIG. 6. Further, the program stored in memory (not shown) may include the functionality to deactivate monitored unit 102 as described further below in conjunction with FIG. 5. Further, the program stored in memory (not shown) may store the same algorithm as stored in monitoring device 101 in order to produce the same “rolling code” as monitoring/tracing device 101 as discussed above. SoC 113 may further comprise a processor (not shown) coupled to the memory (not shown). The processor (not shown) may be configured to execute the instructions of the programs listed above. It is noted that the steps of the methods performed by the program mentioned above may in an alternative embodiment be implemented in hardware such as in an Application Specific Integrated Circuit (ASIC).

[0034] Battery 114 may supply the necessary operating power for the circuitry and components of monitored unit 102. Battery 114 may be a standard carbon or lithium battery, or a rechargeable type battery such as nickel metal hydride (NiMH) or nickel cadmium (NiCAD).

[0035] Monitored unit 102 may comprise input devices such as button(s)/switch(es) 116. These devices may be used by the user of monitored unit 102 to input data to monitored unit 102. It is noted that monitored unit 102 may comprise other types of input devices as well as output devices, e.g., display, alphanumeric characters, not illustrated and that such input/output devices would be known to a person of ordinary skill in the art. It is further noted that embodiments incorporating such input/output devices would fall within the scope of the present invention.

[0036] Tamper sensor 116 may be configured to detect monitored unit 102 being tampered with such as removing monitored unit 102 from an object. Upon detecting monitored unit 102 being tampered with, tamper sensor 116 may be configured to transmit a signal to SoC 113 indicating that monitored unit 102 has been tampered with. SoC 113 may then transmit a signal indicating monitored unit 102 has been tampered with to monitoring device 101 as discussed in conjunction with FIG. 6.

[0037] Transmitter/receiver circuit 117 may be configured similarly as transmitter/receiver circuit 109. Transmitter/receiver circuit 117 may be configured to transmit information to and receive information from monitoring device 101 via omni directional antenna 118. Omni directional antenna 118 is configured similarly as omni directional antenna 112.

[0038] When information is transmitted to monitoring device 102, a unique identification code, e.g., a unique 8-bit identification number, may be transmitted along as part of the transmitted information. As stated above, this unique identification code may be continually changed during every communication with a monitored unit using an algorithm stored in memory (not shown) in SoC 113. This is the same algorithm used by monitoring device 101 to thereby expect the next identification code to be transmitted by monitoring device 101. If the expected identification code is not received, then SoC 113 will not respond to the received transmission.

[0039]FIG. 2—Method for Finding an Object

[0040]FIG. 2 is a flowchart of one embodiment of the present invention of a method 200 for finding unit 102 (FIG. 1) attached to an object. As stated in the Background Information section, prior art locating systems did not transmit an identification code that changes upon every communication between a monitoring device and a monitored unit. Consequently, a third party, e.g., potential abductor, may be able to intercept the signal and with a similar monitoring device locate the object, e.g., child, attached to the monitored unit. If, however, the object, e.g., child, automobile, was identified by an identification code that changed during every communication between a monitoring device and the monitored unit attached to the object (commonly referred to as “rolling code”), then a third party would be less likely to associate the identification code with the monitored object. It would therefore be desirable to develop a directional finding system that implements a rolling code between the monitoring device and the monitored unit to lessen the ability of a third party to locate the object, e.g., person, automobile, attached to the monitored unit. Method 200 is a method for finding an object, e.g., person, automobile, where the communication between the monitoring device and the monitored unit attached to the object implements a rolling code.

[0041] Referring to FIG. 2, in conjunction with FIG. 1, in step 201, monitoring device 101 may be activated upon insertion of the appropriate activation unit 104 as discussed above. In one embodiment, monitoring device 101 may be activated for a limited duration or stage of operation, e.g., day 0 to day 90 in operation, only by inserting the appropriate activation unit 104 in monitoring device 101 containing the appropriate activation code. Upon expiration of that stage of operation, e.g., day 0 to day 90 in operation, monitoring device 101 may be activated for the next stage of operation, e.g., day 91 to day 180 in operation, upon insertion of the appropriate activation unit 104 containing the appropriate activation code.

[0042] In step 202, monitoring device 101 may receive input as to which one or more units 102 (“monitored units”) are to be monitored by monitoring device 101. Step 202 may comprise sub-steps as illustrated in FIG. 3.

[0043] Referring to FIG. 3, in step 301, monitoring device 101 may read a unique identification code, e.g., 8-bit identification number, in unit 102 to be monitored by monitoring device 101. In one embodiment, the identification code may be stored in memory of SoC 113. In one embodiment, each monitored unit 102 may be assigned a unique identification code. In step 302, the identification code read may be stored in memory (not shown) of SoC 103. This may be valuable in case the object has been abducted or stolen and the authorities, e.g., police, want to locate the monitored unit 102 attached to the object with their own monitoring device 101. In one embodiment, the authorities may able to use their own monitoring device 101 to locate unit 102 by appending a bit, referred to herein as an emergency bit, to the unique identification code stored in memory of SoC 103 in step 302. Unit 102 may be configured to respond to a signal containing its unique identification code with an appropriate appended value.

[0044] In step 303, the algorithm that generates a rolling code, as discussed above, may be implemented by monitoring device 101. In one embodiment, the algorithm may be stored in memory of SoC 103. In step 304, monitoring device 101 may transmit a command to monitored unit 102 to implement the same algorithm to generate a rolling code. In one embodiment, the algorithm may be stored in memory of SoC 113.

[0045] In step 305, monitored unit 102 whose identification code was read by monitoring device 101 may be assigned a particular LED 107 on monitoring device 101. In this manner, one or more monitored units 102 may be associated with a particular LED 107 on monitoring device 101. As will later be discussed, the user of monitoring device 101 may be informed of a particular monitored unit 102 being located beyond a pre-selected maximum distance from monitoring device 101 by having LED 107 associated with that particular monitored unit 102 light up. Similarly, as will later be discussed, the user of monitoring device 101 may be informed of a particular monitored unit 102 being tampered with by having LED 107 associated with that particular monitored unit 102 light up.

[0046] Returning to FIG. 2, in step 203, monitoring device 101 may receive input from the user of monitoring device 101 establishing a maximum distance each unit 102 to be monitored by monitoring device 101 should be located from monitoring device 101. For example, a user of monitoring device 101, e.g., parent, may establish a limit, e.g., 250 feet, the object, e.g., child, attached to unit 102 may be located from the user of monitoring device 101. It is noted for clarity that monitoring device 101 may be configured to monitor and find unit 102 located beyond this maximum distance established by the user of monitoring device 101. This maximum distance may be a distance within the range monitoring device 101 may monitor unit 102. For example, monitoring device 101 may be configured to monitor unit 102 located within two miles from monitoring device 101. In one embodiment, the user may input the maximum distance through an input device, e.g., button/switch 106, alphanumeric keypad, on monitoring device 101. It is noted for clarity that the user of monitoring device 101 may input to monitoring device 101 a separate maximum distance for each monitored unit 102 to be monitored by monitoring device 101.

[0047] In step 204, monitoring device 101 may poll each unit 102 to be monitored periodically using a rolling code. That is, monitoring device 101 may transmit a query to each monitored unit 102. Monitoring device 101 may transmit along with the query an updated identification code, e.g., update the identification code stored in memory of SoC 103 in step 302 (FIG. 3), generated by an algorithm stored in memory (not shown) of SoC 103. As stated above, monitored unit 102 will only respond to the query if the updated identification code is expected. The expected updated identification code is determined by the same algorithm stored in memory (not shown) of SoC 113.

[0048] In step 205, monitoring device 101 may receive an acknowledgment from the appropriate monitored unit 102 that includes an updated identification code. The acknowledgment may further include the status, e.g., no tampering of monitored unit 102, of monitored unit 102. As stated above, SoC 113 of monitored unit 102 may generate an updated identification code with respect to the identification code received from monitoring device 101. In step 206, monitoring device 101 may determine if the received identification code is recognized, i.e., expected. As stated above, the expected updated identification code is determined by the algorithm stored in memory (not shown) of SoC 103.

[0049] If the updated identification code is not expected, then monitoring device 101 may poll each monitored unit 102 using a rolling code in step 204.

[0050] If the updated identification code is expected, then monitoring device 101, in step 207, may determine an approximate distance the recognized monitored unit 102 is located monitoring device 101. In one embodiment, monitoring device 101 may determine the approximate distance the recognized monitored unit 102 is located from monitoring device 101 based on the strength of the received signal, i.e., based on the strength of the acknowledgment received in step 205.

[0051] In step 208, monitoring device 101 may determine if there are any monitored units 102 located beyond a pre-selected percentage, e.g., ninety percent (90%), of the maximum distance, e.g., 2,000 feet, monitored unit 102 is to be located from monitoring device 101. As stated above, the maximum distance monitored unit 102 may be located from monitoring device 101 may be established in step 203. It is noted that the user of monitoring device 101 may also input to monitoring device 101 a separate pre-selected percentage, e.g., eighty percent (80%), for each monitored unit 102 such as in step 203.

[0052] If there are no monitored units 102 located beyond a pre-selected percentage, e.g., ninety percent (90%), of the maximum distance monitored unit 102 is to be located from monitoring device 101, then monitoring device 101 may poll each monitored unit 102 using a rolling code in step 204.

[0053] It there are any monitored units 102 located beyond a pre-selected percentage, e.g., ninety percent (90%), of the maximum distance monitored unit 102 is to be located from monitoring device 101, then monitoring device 101, in step 209, may determine if there are any monitored units 102 located beyond the maximum distance monitored unit 102 is to be located from monitoring device 101.

[0054] If there are any monitored units 102 located beyond the pre-selected percentage of the maximum distance monitored unit 102 is to be located from monitoring device 101 but not located beyond such maximum distance, then monitoring device 101, in step 210, may output an indication indicating that one or more monitored units 102 are located beyond the pre-selected percentage of the maximum distance but are not located beyond the maximum distance. For example, monitoring device 101 may light a particular LED 107 associated with each monitored unit 102 located beyond the pre-selected percentage, e.g., 90%, of the maximum distance, e.g., 2,000 feet, monitored unit 102 is to be located from monitoring device 101 but not located beyond the maximum distance. It is noted that there other means for indicating each monitored unit 102 that is located beyond the pre-selected percentage of the maximum distance but not located beyond the maximum distance and that such means would be recognized by an artisan of ordinary skill in the art. It is further noted that embodiments implementing such means would fall within the scope of the present invention.

[0055] Upon outputting an indication indicating one or more monitored units 102 are located beyond the pre-selected percentage of the maximum distance but not located beyond the maximum distance, monitoring device 101 may poll each monitored unit 102 using a rolling code in step 204.

[0056] If, however, there are any monitored units 102 located beyond the maximum distance monitored unit 102 is to be located from monitoring device 101, then monitoring device 101, in step 211, may output an indication indicating one or more monitored units 102 located beyond the maximum distance established in step 203. For example, monitoring device 101 may light a particular LED 107 associated with each monitored unit 102 located beyond the maximum distance monitored unit 102 is to be located from monitoring device 101. In another example, monitoring device 101 may trigger buzzer 108. It is noted that there other means for indicating each monitored unit 102 that is located beyond the maximum distance and that such means would be recognized by an artisan of ordinary skill in the art. It is further noted that embodiments implementing such means would fall within the scope of the present invention.

[0057] In step 212, monitoring device 101 may determine if the maximum distance monitored unit 102 (referring to monitored unit 102 that was indicated as being located beyond the maximum distance established in step 203) is to be located from monitoring device 101 is to be reset.

[0058] If the maximum distance is to be reset, then monitoring device, in step 213, may receive input from the user of monitoring device 101 to reset the maximum distance. In one embodiment, the user may reset the maximum distance through an input device, e.g., button/switch 106, alphanumeric keypad, on monitoring device 101.

[0059] Upon resetting the maximum distance, monitoring device 101 may poll each monitored unit 102 using a rolling code in step 204.

[0060] If, however, the maximum distance monitored unit 102 is to be located from monitoring device 101 is not to be reset by the user of monitoring device 101, then monitoring device 101 may enter a mode, commonly referred to as a “locate mode”, where monitoring device 101 may transmit queries to monitored unit 102 located beyond the maximum distance in a substantially continuous manner. It is noted that queries may include a rolling identification code as discussed above.

[0061] In step 215, monitoring device 101 may receive acknowledgments from that monitored unit 102 located beyond the pre-selected maximum distance monitored unit 102 is to be located from monitoring device 101. It is noted that the acknowledgments may include a rolling identification code as discussed above. In step 216, monitoring device 101 may determine the direction of that monitored unit 102 via signal strength and direction of the received acknowledgments.

[0062] Monitoring device 101 may be configured to perform various background processes, e.g., adding a new unit 102 to be monitored by monitoring device 101, deactivating a monitored unit 102 currently being monitored, while monitoring device 101 locates one or more monitored units 102 as discussed above in method 102. Some of these background processes are discussed in greater detail in FIGS. 4-5.

[0063] It is noted that method 102 may be executed in a different order presented and that the order presented in the discussion of FIG. 2 is illustrative. It is further noted that certain steps in FIG. 2 may be executed almost concurrently.

[0064]FIG. 4—Method for Adding a Unit to be Monitored by Monitoring Device

[0065]FIG. 4 is a flowchart of one embodiment of the present invention of a method 400 of a background process for adding unit 102 (FIG. 1) to be monitored by monitoring device 101 (FIG. 1).

[0066] Referring to FIG. 4, in conjunction with FIG. 1, in step 401, monitoring device 101 may receive input to add unit 102 to be monitored by monitoring device 101. In one embodiment, the user of monitoring device 101 may input the request to monitor an additional unit 102 via button(s)/switch(es) 106. It is noted that there other means for the user of monitoring device 101 to input the request to monitor an additional unit 102 and that such means would be recognized by an artisan of ordinary skill in the art. It is further noted that embodiments incorporating such means would fall within the scope of the present invention.

[0067] In step 402, monitoring device 101 may read a unique identification code, e.g., 8-bit identification number, from unit 102 to be monitored by monitoring device 101. In one embodiment, the identification code may be stored in memory of SoC 113. In one embodiment, each monitored unit 102 may be assigned a unique identification code. In step 403, the identification code read may be stored in memory (not shown) of SoC 103. This may be valuable in case the object has been abducted or stolen and the authorities, e.g., police, want to locate the monitored unit 102 attached to the object with their own monitoring device 101. In one embodiment, the authorities may able to use their own monitoring device 101 to locate unit 102 by appending a bit, referred to herein as an emergency bit, to the unique identification code stored in memory of SoC 103 in step 403. Unit 102 may be configured to respond to a signal containing its unique identification code with an appropriate appended value.

[0068] In step 404, the algorithm that generates a rolling code, as discussed above, may be implemented by monitoring device 101. In one embodiment, the algorithm may be stored in memory of SoC 103. In step 405, monitoring device 101 may transmit a command to monitored unit 102 to implement the same algorithm to generate a rolling code. In one embodiment, the algorithm may be stored in memory of SoC 113.

[0069] In step 406, monitored unit 102 whose identification code was read by monitoring device 101 may be assigned a particular LED 107 on monitoring device 101. In this manner, the additional unit 102 to be monitored may be associated with a particular LED 107 on monitoring device 101.

[0070] It is noted that method 400 may be executed in a different order presented and that the order presented in the discussion of FIG. 4 is illustrative. It is further noted that certain steps in FIG. 4 may be executed almost concurrently.

[0071]FIG. 5—Method for Deactivating a Monitored Unit from being Monitored by Monitoring Device

[0072]FIG. 5 is a flowchart of one embodiment of the present invention of a method 500 of a background process for deactivating monitored unit 102 (FIG. 1) from being monitored by monitoring device 101 (FIG. 1).

[0073] Referring to FIG. 5, in conjunction with FIG. 1, in step 501, monitoring device 101 may receive input to deactivate unit 102 from being monitored by monitoring device 101. In one embodiment, the user of monitoring device 101 may input the request to stop monitoring unit 102 via button(s)/switch(es) 106. It is noted that there other means for the user of monitoring device 101 to input the request to stop monitoring unit 102 and that such means would be recognized by an artisan of ordinary skill in the art. It is further noted that embodiments incorporating such means would fall within the scope of the present invention.

[0074] In step 502, monitoring device 101 may transmit a deactivation request to unit 102 to be deactivated. In step 503, monitored unit 102 may receive a response from monitored unit 102 indicating that unit 102 will be deactivated. In step 504, monitored unit 102 receiving the deactivation request may be deactivated. Upon deactivation, monitored unit 102 may erase the rolling code stored in its memory of SoC 113 in step 505. In step 506, monitoring device 101 may erase the identification code associated with the deactivated unit 102 stored in memory of 103 SoC in step 302 (FIG. 3) or in step 403 (FIG. 4). Monitoring device 101 may further erase the rolling code associated with the deactivated unit 102 in step 506. In step 507, monitoring device 101 may cause LED 107 assigned to the deactivated monitored unit 102 to become available to be assigned to another unit 102.

[0075] It is noted that steps 501-503 and 506-507 may be performed by monitoring device 101. It is further noted that steps 504-505 may be performed by monitored unit 102. It is further noted that method 500 may be executed in a different order presented and that the order presented in the discussion of FIG. 5 is illustrative, e.g., steps 503-505 may be executed in a different order. It is further noted that certain steps in FIG. 5, e.g., steps 504-507, may be executed almost concurrently.

[0076]FIG. 6—Method for Finding a Monitored Unit That has Been Tampered

[0077]FIG. 6 is a flowchart of one embodiment of the present invention of a method 600 for finding monitored unit 102 (FIG. 1) that has been tampered with.

[0078] Referring to FIG. 6, in conjunction with FIG. 1, in step 601, monitored unit 102 may detect it being tampered with. In one embodiment, monitored unit 102 may detect any tampering via tamper sensor 106.

[0079] In step 602, the tampered monitored unit 102 may transmit an indication to monitoring device 101 that it has been tampered with. In step 603, monitoring device 101 may receive the indication that monitored unit 102 has been tampered with.

[0080] In step 604, the tampered monitored unit 102 may enter a mode, commonly referred to as “panic mode”, where the tampered monitored unit 102 transmits signals in a substantially continuous manner. It is noted that transmissions may include a rolling identification code as discussed above.

[0081] In step 605, monitoring device 101 may receive the transmitted signals from the tampered monitored unit 102. In step 606, monitoring device 101 may determine the direction of the tampered monitored unit 102 via signal strength and direction of the received signals.

[0082] It is noted that steps 601-602 and 604 may be performed by monitored unit 102. It is further noted that steps 603 and 605-606 may be performed by monitoring device 101. It is further noted that method 600 may be executed in a different order presented and that the order presented in the discussion of FIG. 6 is illustrative, e.g., steps 603-605 may be executed in a different order. It is further noted that certain steps in FIG. 6 may be executed almost concurrently, e.g., steps 602 and 604.

[0083] Although the system and method are described in connection with several embodiments, it is not intended to be limited to the specific forms set forth herein; but on the contrary, it is intended to cover such alternatives, modifications and equivalents, as can be reasonably included within the spirit and scope of the invention as defined by the appended claims. It is noted that the headings are used only for organizational purposes and not meant to limit the scope of the description or claims. 

1. A method for finding an object comprising the steps of: receiving input to monitor a unit by a monitoring device, wherein said monitored unit is assigned a first code; receiving input to establish a maximum distance said monitored unit can be located from said monitoring device; polling said monitored unit with a second code; receiving an acknowledgement from said monitored unit with a third code; and determining an approximate distance said monitored unit is located from said monitoring device.
 2. The method as recited in claim 1 further comprising the step of: activating said monitoring device.
 3. The method as recited in claim 2, wherein the step of activating said monitoring device comprises plugging an activation unit in said monitoring device.
 4. The method as recited in claim 3, wherein said activation unit activates said monitoring device for a limited duration.
 5. The method as recited in claim 1 further comprising the step of: determining if said approximate distance said monitored unit is located from said monitoring device is beyond a pre-selected percentage of said maximum distance said monitored unit can be located from said monitoring device.
 6. The method as recited in claim 5, wherein if said monitored unit is located beyond said pre-selected percentage of said maximum distance said monitored unit can be located from said monitoring device then the method further comprises the step of: determining if said monitored unit is located beyond said maximum distance said monitored unit can be located from said monitoring device.
 7. The method as recited in claim 6, wherein if said monitored unit is not located beyond said maximum distance said monitored unit can be located from said monitoring device, then the method further comprises the step of: outputting an indication that said monitored unit is located beyond said pre-selected percentage of said maximum distance said monitored unit can be located from said monitoring device.
 8. The method as recited in claim 6, wherein if said monitored unit is located beyond said maximum distance said monitored unit can be located from said monitoring device, then the method further comprises the step of: outputting an indication that said monitored unit is located beyond said maximum distance said monitored unit can be located from said monitoring device.
 9. The method as recited in claim 8 further comprising the step of: transmitting queries to said monitored unit in a substantially continuous manner.
 10. The method as recited in claim 9 further comprising the step of: receiving acknowledgments from said monitored unit.
 11. The method as recited in claim 10 further comprising the step of: determining a direction of said monitored unit from a signal strength and a direction of said acknowledgments.
 12. The method as recited in claim 8 further comprising the step of: resetting a maximum distance said monitored unit can be located from said monitoring device.
 13. The method as recited in claim 1, wherein said step of receiving input to monitor said monitored unit comprises the step of: reading said first code from said monitored unit.
 14. The method as recited in claim 13, wherein said step of receiving input to monitor said monitored unit comprises the step of: storing said received first code.
 15. The method as recited in claim 13, wherein said step of receiving input to monitor said monitored unit comprises the step of: assigning said monitored unit to a light emitting diode on said monitoring device.
 16. The method as recited in claim 1 further comprising the step of: receiving an indication that said monitored unit has been tampered with.
 17. The method as recited in claim 16 further comprising the step of: transmitting queries to said monitored unit in a substantially continuous manner.
 18. The method as recited in claim 17 further comprising the step of: receiving acknowledgments from said monitored unit.
 19. The method as recited in claim 18 further comprising the step of: determining a direction of said monitored unit from a signal strength and a direction of said acknowledgments.
 20. The method as recited in claim 1 further comprising the step of: determining if said third code is recognized.
 21. The method as recited in claim 20, wherein if said third code is recognized, then the method further comprises the step of: transmitting a fourth code to said monitored unit.
 22. A system, comprising: a monitoring device configured to monitor a position of a monitored unit attached to an object, wherein said monitoring device comprises: circuitry operable for receiving input to monitor said monitored unit, wherein said monitored unit is assigned a first code; circuitry operable for receiving input to establish a maximum distance said monitored unit can be located from said monitoring device; circuitry operable for polling said monitored unit with a second code; circuitry operable for receiving an acknowledgement from said monitored unit with a third code; and circuitry operable for determining an approximate distance said monitored unit is located from said monitoring device.
 23. The system as recited in claim 22, wherein said monitoring device is activated upon plugging in an activation unit.
 24. The system as recited in claim 23, wherein said activation unit activates said monitoring device for a limited duration.
 25. The system as recited in claim 22, wherein said monitoring device further comprises: circuitry operable for determining if said approximate distance said monitored unit is located from said monitoring device is beyond a pre-selected percentage of said maximum distance said monitored unit can be located from said monitoring device.
 26. The system as recited in claim 25, wherein if said monitored unit is located beyond said pre-selected percentage of said maximum distance said monitored unit can be located from said monitoring device then said monitoring device further comprises: circuitry operable for determining if said monitored unit is located beyond said maximum distance said monitored unit can be located from said monitoring device.
 27. The system as recited in claim 26, wherein if said monitored unit is not located beyond said maximum distance said monitored unit can be located from said monitoring device, then said monitoring device further comprises: circuitry operable for outputting an indication that said monitored unit is located beyond said pre-selected percentage of said maximum distance said monitored unit can be located from said monitoring device.
 28. The system as recited in claim 26, wherein if said monitored unit is located beyond said maximum distance said monitored unit can be located from said monitoring device, then said monitoring device further comprises: circuitry operable for outputting an indication that said monitored unit is located beyond said maximum distance said monitored unit can be located from said monitoring device.
 29. The system as recited in claim 28, wherein said monitoring device further comprises: circuitry operable for transmitting queries to said monitored unit in a substantially continuous manner.
 30. The system as recited in claim 29, wherein said monitoring device further comprises: circuitry operable for receiving acknowledgments from said monitored unit.
 31. The system as recited in claim 30, wherein said monitoring device further comprises: circuitry operable for determining a direction of said monitored unit from a signal strength and a direction of said acknowledgments.
 32. The system as recited in claim 28, wherein said monitoring device further comprises: circuitry operable for resetting a maximum distance said monitored unit can be located from said monitoring device.
 33. The system as recited in claim 22, wherein said circuitry operable for receiving input to monitor said monitored unit comprises: circuitry operable for reading said first code from said monitored unit.
 34. The system as recited in claim 33, wherein said circuitry operable for receiving input to monitor said monitored unit comprises: circuitry operable for storing said received first code.
 35. The system as recited in claim 33, wherein said circuitry operable for receiving input to monitor said monitored unit comprises: circuitry operable for assigning said monitored unit to a light emitting diode on said monitoring device.
 36. The system as recited in claim 22, wherein said monitoring device further comprises: circuitry operable for receiving an indication that said monitored unit has been tampered with.
 37. The system as recited in claim 36, wherein said monitoring device further comprises: circuitry operable for transmitting queries to said monitored unit in a substantially continuous manner.
 38. The system as recited in claim 37, wherein said monitoring device further comprises: circuitry operable for receiving acknowledgments from said monitored unit.
 39. The system as recited in claim 38, wherein said monitoring device further comprises: circuitry operable for determining a direction of said monitored unit from a signal strength and a direction of said acknowledgments.
 40. The system as recited in claim 22, wherein said monitoring device further comprises: circuitry operable for determining if said third code is recognized.
 41. The method as recited in claim 40, wherein if said third code is recognized, then said monitoring device further comprises: circuitry operable for transmitting a fourth code to said monitored unit.
 42. A system, comprising: a monitored unit attached to an object; and a monitoring device configured to monitor a position of said monitored unit, wherein said monitoring device comprises: circuitry operable for receiving input to monitor said monitored unit, wherein said monitored unit is assigned a first code; circuitry operable for receiving input to establish a maximum distance said monitored unit can be located from said monitoring device; circuitry operable for polling said monitored unit with a second code; circuitry operable for receiving an acknowledgement from said monitored unit with a third code; and circuitry operable for determining an approximate distance said monitored unit is located from said monitoring device.
 43. A system, comprising: a monitored unit attached to an object, wherein said monitored unit comprises: circuitry operable for detecting tampering of said monitored unit; circuitry operable for transmitting an indication that said monitored unit has been tampered with; and circuitry operable for transmitting signals in a substantially continuous manner; and a monitoring device configured to monitor a position of said monitored unit, wherein said monitoring device comprises: circuitry operable for receiving said indication that said monitored unit has been tampered with; circuitry operable for receiving said transmitted signals; and circuitry operable for determining a direction of said monitored unit via a signal strength and a direction of said transmitted signals.
 44. A method for finding one or more objects comprising the steps of: receiving input to monitor one or more units by a monitoring device, wherein each of said one or more units is assigned a unique identification code, wherein each of said one or more units is attached to an object; and polling each of said one or more units with a rolling identification code.
 45. A system, comprising: a monitoring device, wherein said monitoring device comprises: a system on a chip (SoC) configured to monitor a unit attached to an object; and an activation unit coupled to said SoC, wherein said activation unit activates said SoC for a limited duration. 